﻿using IntelligentAgriculture.Contracts.Dto.Input;
using IntelligentAgriculture.Contracts.Dto.Output;
using IntelligentAgriculture.Domain.Entity;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace IntelligentAgriculture.Contracts.Interface
{
    /// <summary>
    /// 期初服务层
    /// </summary>
    public interface IStartService
    {

        /// <summary>
        /// 显示查询期初表
        /// </summary>
        /// <param name="input">输入参数</param>
        /// <returns>返回数据</returns>
        Task<PageOutput<StartOutput>> GetStartList(StartInput input);

        /// <summary>
        /// 添加期初表数据
        /// </summary>
        /// <param name="inputs">实体</param>
        /// <returns>返回受影响的行数</returns>
        Task<int> AddStartAsync(List<Start> inputs);


        /// <summary>
        /// 逻辑删除期初数据
        /// </summary>
        /// <param name="startId">主键id</param>
        /// <returns>受影响的行数</returns>
        Task<int> DeleteStart(int startId);



        /// <summary>
        /// 批量逻辑删除期初表
        /// </summary>
        /// <param name="startIds">id</param>
        /// <returns>返回数据</returns>
        Task<int> DeleteRangeStart(IEnumerable<int> startIds);


        /// <summary>
        /// 反填期初表
        /// </summary>
        /// <param name="startId">主键id</param>
        /// <returns>返回数据</returns>
        Task<StartOutput> GetStartByIdAsync(int startId);

        /// <summary>
        /// 修改期初表
        /// </summary>
        /// <param name="input">期初实体</param>
        /// <returns>受影响的行数</returns>
        Task<int> UpdateStartAsync(Start input);


      



    }
}
